<?php
session_start();

echo 'Начало <br>';

@include("config.inc.php");
@include ('functions.inc.php');

define("CHARSET", "UTF-8");


$log = "d://testHTTP.txt";
$cc = fopen ($log,"a");

echo 'инициализация log file <br>';

//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die("Не могу подключиться" );

// проверка ошибок соединения
if (mysqli_connect_errno() !==0 )
{
 // если ошибка при коннекте с базой данных
 $error_num = mysqli_connect_errno();
 $error_message = mysqli_connect_error();

 // передаем данные об ошибке в функцию
 sendErrorData($error_num, $error_message);
echo 'передаем данные об ошибке в функцию <br>';
}
 else
{
 // если нет ошибки при коннекте с базой данных
 // устанавливаем кодировку соединения

  //$link->query("SET NAMES 'utf8'");
 mysql_query("SET NAMES 'UTF-8'", $link);

     //установленная кодировка
     $charset = mysql_client_encoding($link);
     echo "The current character set is: $charset <br>";

// сделать $DB текущей базой данных
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');

echo " сделать $DB  текущей базой данных <br>";



$module = $_REQUEST['username'];
echo "username пришел $module <br>";

$nick = $_GET['username'];
$result = mysql_query("SELECT * FROM users WHERE username='".($nick)."'");
$aff_rows = mysql_affected_rows();


//Начинаем проверять входящие данные
// if($_GET['sid'] == $_SESSION['uid'])
  

//echo "username пришел $sidd <br>";
// забаненая проверка наличия записи в базе


//Осуществляем регистарацию, генерируем uniq_id
$uniq_id = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'].mktime());
$pass = $_GET['password'];
$email = $_GET['email'];

echo "username c паролем $pass <br>";
echo "email: $email <br>";

//лог регистрации
$da = date("d.m.y") . ' ' . date("H:i:s") . ": пришел login:" . $nick .": с паролем:" .$pass. "\n";
fwrite($cc, $da);


 //Создаем запрос для записи данных в БД
 $r = @mysql_query("INSERT INTO users VALUES(NULL,'".$nick."','".
 md5($pass)."','".$email."','".$uniq_id."',0,'".date("dmY")."','".date("dmY")."')");

$rr="INSERT INTO users VALUES(NULL,'".$nick."',md5(pass),'".$email."',uniq_id,0,'".date("dmY")."','".date("dmY")."')";
echo "пишем запрос в базу $rr <br>";
$da = date("d.m.y") . ' ' . date("H:i:s") . ": запрос такий: " . $rr . "\n";
fwrite($cc, $da);

//После запроса отправляем письмо юзеру, для активации аккаунта
if($r) 
{

// Для отправки e-mail в виде HTML устанавливаем необходимый mime-тип и кодировку
$header="Date: ".date("D, j M Y G:i:s")." +0700\r\n"; 
$header.="From: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Максим')))."?= <login@mail.ru>\r\n"; 
$header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n"; 
$header.="Reply-To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Максим')))."?= <login@mail.ru>\r\n";
$header.="X-Priority: 3 (Normal)\r\n";
$header.="Message-ID: <172562218.".date("YmjHis")."@mail.ru>\r\n";
$header.="To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Сергей')))."?= <asd@qwe.ru>\r\n";
$header.="Subject: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('проверка')))."?=\r\n";
$header.="MIME-Version: 1.0\r\n";
$header.="Content-Type: text/plain; charset=windows-1251\r\n";
$header.="Content-Transfer-Encoding: 8bit\r\n";

//Здесь электронный адрес, куда будут уходить сообщения
$mailto = $email;
$subject = "Подтверждение регистарции на сервисе coolBuh";
$message = 'Для активации аккаунта  на сервисе coolBuh пройдите по следующей ссылке 
http://test/src/assets/php/registration.php?activation='.$uniq_id.'
или скопируйте ссылку в окно ввода адреса браузера и нажмите enter.';

//Отправляем сообщение
if(sendmail($mailto,$subject,$message,$headers) !== FALSE)
{
echo 'Регистрация завершена, на введеный Вами e-mail 
было отправлено сообщение для активации аккаунта
<br/><a href="registration.php?exit=1"/>выход</a>';

$da = date("d.m.y") . ' ' . date("H:i:s") . ": email пошел на $email \n";
fwrite($cc, $da);

//данные в DOM XML
$resultSendMail='yes';
}

else
    
{
echo 'Регистрация невозможна: Повторите запрос позднее
     <br/><a href="registration.php"/>назад</a>';

$resultSendMail='no';
}
}
}

sendMailData($resultSendMail);


if($_GET['activation'] AND $_GET['activation']!='')
          {
            $uniq_id = $_GET['activation'];

            //Создаем запрос
            $r=@mysql_query("UPDATE users SET status=1 WHERE uniq_id='".$uniq_id."' AND status=0");

            if($r)
              {
                echo '<h2>Ваша учетная запись активирована.</h2><br/> Теперь вы
                можете <a href="index.php">войти на сайт</a> используя данные
                указанные при регистрации';
               }
                else
                    {
                      echo 'Активация невозможна: профиль уже активирован';
                    }


            }


 // запрос в базу данных
 $query_str = "SELECT * FROM $table WHERE username = '$username' AND password = 'md5($pass)'";
 $resultData = @$link->query($query_str);

 //проверям на ошибки после запроса
 if ($resultData === FALSE)

 {

 $error_num = $link->errno;
 $error_message = $link->error;
 // передаем данные об ошибке в функцию
 sendErrorData($error_num, $error_message);
 // закрываем соединение
 $link->close();
 }



// Функция возвращает данные об ошибках при соединении с базой данных или при выполнении запроса.
function sendErrorData($myerr_num, $myerr_desc)
{

 $dom = new DOMdocument('1.0', 'utf-8');    # Создание XML DOM Document
 $dom->formatOutput = true;                # Форматируем вывод
 $rows = $dom->appendChild($dom->createElement('data'));    # Создадим root XML element
 $rows->appendChild($row = $dom->createElement('error', 'yes'));    # Создадим первый элемент - error
 $rows->appendChild($row = $dom->createElement('error_num', $myerr_num));    # Создадим второй элемент - номер ошибки
 $rows->appendChild($row = $dom->createElement('error_desc', $myerr_desc));    # Создадим третий элемент - описание ошибки

 // выводим ответ
 print $dom->saveXML();
 echo $dom;
}

// Функция возвращает данные  - авторизация не прошла.
function sendLoginError()
{

 $dom = new DOMdocument('1.0', 'utf-8');    # Создание XML DOM Document
 $dom->formatOutput = true;                # Форматируем вывод
 $rows = $dom->appendChild($dom->createElement('data'));    # Создадим root XML element
 $rows->appendChild($row = $dom->createElement('error', 'no'));    # Создадим первый элемент - error
 $rows->appendChild($row = $dom->createElement('loginsuccess', 'no'));    # Создадим второй элемент - прошла ли авторизация

 // выводим ответ
 print $dom->saveXML();
 echo $dom;
}

// Функция возвращает данные  - авторизация прошла успешно + все данные пользователя.
function sendLoginData($my_result)
{

 $dom = new DOMdocument('1.0', 'utf-8');    # Создание XML DOM Document
 $dom->formatOutput = true;                # Форматируем вывод
 $rows = $dom->appendChild($dom->createElement('data'));    # Создадим root XML element
 $rows->appendChild($row = $dom->createElement('error', 'no'));    # Создадим первый элемент - error
 $rows->appendChild($row = $dom->createElement('loginsuccess', 'yes'));    # Создадим второй элемент - прошла ли авторизация
 // добавление данных
 $rows->appendChild($row = $dom->createElement('UserId', $my_result->user_id));    # Создадим элемент - id
 $rows->appendChild($row = $dom->createElement('Uusername', $my_result->username)); # Создадим элемент - last_date
 $rows->appendChild($row = $dom->createElement('Ulastdate', $my_result->last_date)); # Создадим элемент - last_date
 $rows->appendChild($row = $dom->createElement('Uemail', $my_result->email));  # Создадим элемент - Email
 $rows->appendChild($row = $dom->createElement('Udate', $my_result->date));  # Создадим элемент - Date

 // выводим ответ
 print $dom->saveXML();
 echo $dom;
}

//формируем сообщения про отсылку mail
function sendMail($resultSendMail)
{
 $dom = new DOMdocument('1.0', 'utf-8');  # Создание XML DOM Document
 $dom->formatOutput = true;   # Форматируем вывод
 $rows = $dom->appendChild($dom->createElement('data'));  # Создадим root XML element
 // добавление данных
 $rows->appendChild($row = $dom->createElement('mesageSendingMail', $resultSendMail->mail_send_message)); # Создадим элемент - message

 // выводим ответ
 print $dom->saveXML();
 echo $dom;
}
fclose($cc);
session_destroy();

 ?>